package module01_work;

import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.LinkedList;

import org.junit.Test;

/**
 * 
 * @author 陈洛健
 * 要求：实现双色球抽奖 6个红球1~33不重复 1个蓝球1~16
 * 实现思路：使用链表 存储红蓝球，由于红球要不重复 则抽出来一个删除掉池里面的红球 ，使用Math.Random随机数 %链表中的个数 由于要一直删除池中的球 所以%固定的数会导致越界，所以根据链表的size可以保证不越界
 *	最后使用Arrays.toString() 打印数组
 */


public class Work03 {

	public static void main(String[] args) {
		LinkedList<Integer> redList = new LinkedList<>();
		LinkedList<Integer> bullList = new LinkedList<>();
		for(int i = 1;i<=33;i++) {
			redList.add(i);
			if(i<=16) {
				bullList.add(i);
			}
		}
		
		
		int[] arr = new int[7];
		
		//随机生成红球
		for(int i = 0;i<=5;i++) {
			int random = (int)(Math.random() * 100) % redList.size();
			arr[i] = redList.get(random);
			redList.remove(random);
		}
		arr[6] = bullList.get((int)(Math.random() * 100) % bullList.size());
		
		
		System.out.println("生成的中奖号码为：" +Arrays.toString(arr));
	}
	
	@Test
	public void test01() {
		int random = (int)(Math.random() * 100) %23 ;
		
		System.out.println(random);
	}
}
